Subject: Re: Note from Mike Evans about "TRS clarification request"

From: [email-masked] (Dave Finnie)
Date: Tue, 19 Dec 1995 09:36:55 +1100

> If B does not safe store, or the safe store file was corrupted or removed
> by the user, this could happen because B will reset the RSNs, so it could
> come back to the same value.

While reading the architecture reference and working out how to write
code for generating the correct RSN, I came to the following conclusion:

If B connects to A, A and B will exchange topology databases (according to
FRSNs). If B has no safe store, A will essentially "dump" to B. If B
receives a TDU that describes one of its own resources, then it immediately
sets the RSN for that resource to be equal to the RSN value in the TDU
received from A. When this resource then changes, it incrememts the RSN
accordingly.

Does this seem like a reasonable approach ? My reasoning here was that if
B begins its RSNs again, *all* NNs in the network will ignore its updates
until the RSN raises to its level before B went down.

So I think that even if B loses its safe store, there shouldn't be a
problem.

Have I missed something ?

Regards,
Dave

P.S. I believe that if a node receives a TDU Describing one of its own
resources and the RSN is higher than it believes it to be, it should
automatically set it to be equal to the received RSN.

---

From: Bob Clouston <[email-masked]>
Date: Mon, 18 Dec 95 18:57:15 EST

> Have I missed something ?

Maybe.  Let's see if anyone finds an error in this scenario:

B starts the first time with an empty database.  Connects to A without the 
HPR bit, with RSN = 2.  B is then shutdown such that it sends no TDUs about 
the TG from B->A changing status.  No one else will change that TG (A only
changes the reverse TG, and their RSNs are unrelated).  So the network
still has RSN = 2.  B comes back up and A is the first node it connects
to, so with the internal TG_UPDATE it sets RSN = 2.  During the initial
exchange, both A and B send TDUs about B->A with RSN=2, same CV47 info.
If only CV47s are compared, both A and B are satisfied.

I seem to recall however that the "Time Left" field had to be put in a
new CV48 because it is allowed to be different, and putting it as a field
in CV44 and CV46 could cause excessive TDUs because the difference would
be noticed when comparing those CVs.  If that's the case the architecture
needs to be more specific about what is compared. But maybe there was a 
different reason for the new CV.  So I won't speculate more until we get a
clarification on this.

> automatically set it to be equal to the received RSN.
I seem to remember the node adding 2 to the received RSN and sending a TDU,
but it makes more sense to set the RSNs equal if the CVs compare the same.
Saves a little on net traffic.

Bob Clouston